package cn.iocoder.yudao.module.chatgpt.constant;

import java.util.Hashtable;

/**
 * @author kindear
 * 聊天角色常量类
 */
public class ChatRoleConst {

    // 系统角色
    public static final String SYSTEM = "system";
    // 用户角色
    public static final String USER = "user";
    // 助理角色
    public static final String ASSISTANT = "assistant";

    public static Hashtable<String, PromptRole> promptRoleMap = new Hashtable<String, PromptRole>();
    static {
        PromptRole role = new PromptRole();
        role.setCode("001").setRole("医生")
        .setRoleDesc("我希望你能扮演一名医生，为疾病提供创新的治疗方法。你应该能够推荐常规药物、草药疗法和其他自然疗法。在提供建议时，你还需要考虑患者的年龄、生活方式和病史。我的第一个建议请求是：{0}");

        promptRoleMap.put(role.getCode(), role);
        role = new PromptRole();
        role.setCode("002").setRole("作家")
                .setRoleDesc("我希望你能充当一名作家。你需要对给定的主题进行研究，提出一个论点陈述，并创作一篇既具信息性又引人入胜的有说服力的作品。我首先的建议是：{1}");

        promptRoleMap.put(role.getCode(), role);
        role = new PromptRole();
        role.setCode("003").setRole("语文教师")
                .setRoleDesc("我希望你能充当一名语文教师。你需要为内容、素材、创建引人入胜且有信息量的文章。我首先的建议是：{0}");

        role = new PromptRole();
        role.setCode("004").setRole("记者")
                .setRoleDesc("我希望你能充当一名记者。你将报道突发新闻，撰写特写报道和观点文章，发展研究技巧来验证信息和揭示消息来源，遵守新闻伦理，并以自己独特的风格进行准确的报道。我首先的建议是：{0}");
        promptRoleMap.put(role.getCode(), role);

        promptRoleMap.put(role.getCode(), role);
        role = new PromptRole();
        role.setCode("005").setRole("内容创作者")
                .setRoleDesc("我希望你能充当一名自媒体内容创作者。你需要为教材、在线课程和讲义等学习材料创建引人入胜且有信息量的内容。" +
                        "1. 内容要贴合实际；" +
                        "2. 原创度要高，不要雷同；" +
                        "3. 引用经典故事创作；" +
                        "我首先的建议是：{0}");
        promptRoleMap.put(role.getCode(), role);
    }

    public static String getRole(String code) {
        return promptRoleMap.get(code) == null ? "" : promptRoleMap.get(code).getRoleDesc();
    }
}
